package com.mate.cloud.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mate.cloud.dataobject.UserInfo;
import com.mate.cloud.dto.UserInfoDTO;

public interface UserService extends IService<UserInfo> {

    /**
     * 注册
     *
     * @param userInfo
     * @return
     */
    UserInfoDTO registerByEmail(UserInfoDTO userInfo);

    /**
     * 更新个人信息
     *
     * @param userInfo
     * @return
     */
    Integer updateInfo(UserInfo userInfo);

    /**
     * 用邮箱登录
     *
     * @param email
     * @param password
     * @return
     */
    UserInfoDTO loginByEmail(String email, String password);

    /**
     * 用电话登录
     *
     * @param tel
     * @param password
     * @return
     */
    UserInfo loginByTel(String tel, String password);

    /**
     * 注销登录
     * @param userId
     */
    void logout(String userId);

    /**
     * 通过id查询用户
     *
     * @param id
     * @return
     */
    UserInfo findById(String id);

    /**
     * 重置/修改 密码
     *
     * @return
     */
    UserInfo resetPassword(String id, String oldPassword, String newPassword);

}
